package com.wyf.springmvc.controller;

import com.wyf.springmvc.po.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * JOSN数据开发
 * @ResponseBody]
 *   设置在方法级别的，或方法的类型前
 *   默认控制器中方法的返回值是会去找对应的试图页面的，如果想要返回数据，需要将返回的结果转换成字符串（JSON字符串）
 * @RequestBody
 *   设置在形参前
 *   要求传递的参数是一个JSON格式的字符串
 */
@Controller
@RequestMapping("/json")
public class JsonController {

    @RequestMapping("/json01")
    @ResponseBody
    public String json01() {
        return "Hello SpringMVC";
    }

    @RequestMapping("/queryUser")
    @ResponseBody
    public User queryUser() {
        User user = new User();
        user.setUserId(1);
        user.setUserName("admin");
        user.setUserEmail("123@123.com");
        user.setUserPwd("89898");
        return user;
    }

    @RequestMapping("/queryUser02")
    @ResponseBody
    public User queryUser02(@RequestBody User user) {
        //  如果控制器的方法是设置了@RequestBody注解，参数则必须是JSON格式的字符串
        return user;
    }
}
